function [Labels] = gretna_label (template)

%==========================================================================
% This function is used to output the names and/or classifications of
% regions in different brain parcellation atlases.
%
%
% Syntax: function [Labels] = gretna_label (template)
%
% Input:
%        template:
%            ANIMAL/animal: 54  regions;
%            AAL/aal:       90  regions;
%            HOA/hoa:       112 regions;
%            F160/f160:     160 regions.
%
% References
% 1.Collins et al. (1995): Automatic 3D model-based neuroanatomical 
%   segmentation. Hum Brain Mapp.
% 2.Tzourio-Mazoyer et al. (2002): Automated anatomical labeling of 
%   activations in SPM using a macroscopic anatomical parcellation of the
%   MNI MRI single-subject brain. Neuroimage.
% 3.Makris et al. (1999): MRI-Based topographic parcellation of human 
%   cerebral white matter and nuclei II. Rationale and applications with 
%   systematics of cerebral connectivity. Neuroimage.
% 4.Dosenbach et al. (2010): Prediction of individual brain maturity using
%   fMRI. Science.
%
% Jinhui WANG, NKLCNL, BNU, BeiJing, 2011/10/23, Jinhui.Wang.1982@gmail.com
%==========================================================================

if strcmpi(template, 'animal') == 1
    Labels.name = {'SFG.R','SFG.L','MFG.R','MFG.L','IFG.R','IFG.L','MdFG.R','MdFG.L','PrCG.R','PrCG.L','LOFG.R','LOFG.L','MOFG.R','MOFG.L',...
        'SPL.R','SPL.L','SMG.R','SMG.L','ANG.R','ANG.L','PCU.R','PCU.L','PoCG.R','PoCG.L',...
        'STG.R','STG.L','MTG.R','MTG.L','ITG.R','ITG.L','UNC.R','UNC.L','MOTG.R','MOTG.L','LOTG.R','LOTG.L','PHG.R','PHG.L',...
        'OP.R','OP.L','SOG.R','SOG.L','MOG.R','MOG.L','IOG.R','IOG.L','CUN.R','CUN.L','LING.R','LING.L',...
        'CING.R','CING.L','INS.R','INS.L'}';
    
elseif strcmpi(template, 'AAL') == 1
    Labels.name = {'PreCG.L', 'PreCG.R',	'SFGdor.L',	'SFGdor.R',	'ORBsup.L','ORBsup.R','MFG.L','MFG.R','ORBmid.L','ORBmid.R',...
        'IFGoperc.L','IFGoperc.R','IFGtriang.L','IFGtriang.R','ORBinf.L','ORBinf.R','ROL.L','ROL.R','SMA.L','SMA.R','OLF.L','OLF.R',...
        'SFGmed.L','SFGmed.R','ORBsupmed.L','ORBsupmed.R','REC.L','REC.R','INS.L','INS.R','ACG.L','ACG.R','DCG.L','DCG.R',...
        'PCG.L','PCG.R','HIP.L','HIP.R','PHG.L','PHG.R','AMYG.L','AMYG.R','CAL.L','CAL.R','CUN.L','CUN.R','LING.L','LING.R',...
        'SOG.L','SOG.R','MOG.L','MOG.R','IOG.L','IOG.R','FFG.L','FFG.R','PoCG.L','PoCG.R','SPG.L','SPG.R','IPL.L','IPL.R',...
        'SMG.L','SMG.R','ANG.L','ANG.R','PCUN.L','PCUN.R','PCL.L','PCL.R','CAU.L','CAU.R','PUT.L','PUT.R','PAL.L','PAL.R',...
        'THA.L','THA.R','HES.L','HES.R','STG.L','STG.R','TPOsup.L','TPOsup.R','MTG.L','MTG.R','TPOmid.L','TPOmid.R','ITG.L','ITG.R'}';
    
    Labels.classification = {'Primary','Primary','Association','Association','Paralimbic','Paralimbic','Association','Association','Paralimbic', ...
        'Paralimbic','Association','Association','Association','Association','Paralimbic','Paralimbic','Association','Association', ...
        'Association','Association','Limbic','Limbic','Association','Association','Paralimbic','Paralimbic','Paralimbic','Paralimbic', ...
        'Paralimbic','Paralimbic','Paralimbic','Paralimbic','Paralimbic','Paralimbic','Paralimbic','Paralimbic','Limbic','Limbic','Paralimbic', ...
        'Paralimbic','Limbic','Limbic','Primary','Primary','Association','Association','Association','Association','Association','Association', ...
        'Association','Association','Association','Association','Association','Association','Primary','Primary','Association','Association', ...
        'Association','Association','Association','Association','Association','Association','Association','Association','Association','Association', ...
        'Subcortical','Subcortical','Subcortical','Subcortical','Subcortical','Subcortical','Subcortical','Subcortical','Primary','Primary', ...
        'Association','Association','Paralimbic','Paralimbic','Association','Association','Paralimbic','Paralimbic','Association','Association'}';
    
elseif  strcmpi(template,'HOA') == 1
    Labels.name={'FP.L','FP.R','INS.L','INS.R','F1.L','F1.R','F2.L','F2.R','F3t.L','F3t.R','F3o.L','F3o.R','PRG.L','PRG.R','TP.L','TP.R','T1a.L','T1a.R','T1p.L','T1p.R','T2a.L','T2a.R','T2p.L',...
        'T2p.R','TO2.L','TO2.R','T3a.L','T3a.R','T3p.L','T3p.R','TO3.L','TO3.R','POG.L','POG.R','SPL.L','SPL.R','SGa.L','SGa.R','SGp.L','SGp.R','AG.L','AG.R','OLs.L','OLs.R','OLi.L','OLi.R','CALC.L',...
        'CALC.R','FMC.L','FMC.R','SMC.L','SMC.R','SC.L','SC.R','PAC.L','PAC.R','CGa.L','CGa.R','CGp.L','CGp.R','PCN.L','PCN.R','CN.L','CN.R','FOC.L','FOC.R','PHa.L','PHa.R',...
        'PHp.L','PHp.R','LG.L','LG.R','TFa.L','TFa.R','TFp.L','TFp.R','TOF.L','TOF.R','OF.L','OF.R','FO.L','FO.R','CO.L','CO.R','PO.L','PO.R','PP.L','PP.R','H.L','H.R','PT.L',...
        'PT.R','SCLC.L','SCLC.R','OP.L','OP.R','Bst.L','Bst.R','Thal.L','Thal.R','Caud.L','Caud.R','Put.L','Put.R','Pall.L','Pall.R','Hip.L','Hip.R','Amy.L','Amy.R','Accbns.L','Accbns.R'};
    
elseif strcmpi(template,'f160') == 1
    Labels.name = {'vmPFC','mPFC','aPFC','vmPFC', 'vmPFC','vmPFC','vmPFC','ACC', 'vlPFC','sup frontal','sup frontal','inf temporal','inf temporal', ...
        'post cingulate','fusiform', 'precuneus','post cingulate','inf temporal','occipital','post cingulate','precuneus','precuneus','post cingulate','post cingulate',  ...
        'precuneus','post cingulate','angular gyrus','angular gyrus','precuneus','IPS','occipital','occipital','occipital','occipital','aPFC','aPFC','vent aPFC','vent aPFC', ...
        'vlPFC','dlPFC','ACC','dlPFC','vPFC','dlPFC','dFC','dFC','dFC','IPL','IPL','post parietal','IPL','IPL','IPL','IPS','IPS','aPFC','vPFC','ACC','vFC','ant insula','dACC', ...
        'ant insula','basal ganglia','mFC','vFC','basal ganglia','basal ganglia','vFC','mid insula','thalamus','thalamus','thalamus','mid insula','mid insula', 'basal ganglia', ...
        'post insula','temporal','post cingulate','fusiform','precuneus','parietal','temporal','parietal','sup temporal','angular gyrus','temporal', 'TPJ','frontal','dFC','vFC', ...
        'pre-SMA','vFC','SMA','frontal','precentral gyrus','mid insula','precentral gyrus','parietal','precentral gyrus','precentral gyrus','precentral gyrus','parietal','mid insula', ...
        'mid insula','temporal','parietal','parietal','parietal','parietal','precentral gyrus','temporal','parietal','post insula','parietal','parietal','parietal', 'post parietal', ...
        'temporal','temporal','sup parietal', 'occipital', 'occipital','occipital','temporal', 'occipital','occipital', 'occipital','occipital','occipital','occipital','occipital', ...
        'occipital','occipital', 'occipital','post occipital', 'post occipital','post occipital','post occipital','post occipital', 'post occipital','post occipital','post occipital', ...
        'lat cerebellum','lat cerebellum','inf cerebellum','lat cerebellum','med cerebellum','inf cerebellum','inf cerebellum','med cerebellum','lat cerebellum','med cerebellum','inf cerebellum', ...
        'med cerebellum','inf cerebellum','med cerebellum','med cerebellum', 'inf cerebellum','inf cerebellum','inf cerebellum'};
    
    for i = 1:34
        Labels.classification{i,1} = 'default';
    end
    
    for i = 35:55
        Labels.classification{i,1} = 'fronto-parietal';
    end
    
    for i = 56:87
        Labels.classification{i,1} = 'cingulo-opercular';
    end
    
    for i = 88:120
        Labels.classification{i,1} = 'sensorimotor';
    end
    
    for i = 121:142
        Labels.classification{i,1} = 'occipital';
    end
    
    for i = 143:160
        Labels.classification{i,1} = 'cerebellum';
    end
end

return